package com.yangl.study.beans;

import com.yangl.study.beans.io.ResourceLoader;
import lombok.Getter;

import java.util.HashMap;
import java.util.Map;

/**
 * 抽象类和接口的区别
 *  设计思想不同,使用动机不同.
 *      <p>设计抽象类是自下而上的过程,因为调用者子类需要某些属性和特有行为,所以调用者继承抽象类<p/>
 *      <p>设计接口是自上而下的过程,接口规范某一行为,我某类需要这个行为,调用者实现某接口<p/>
 *
 * @author yanglei
 * @date 2021-12-02 22:23
 */
public abstract class AbstractBeanDefinitionReader implements BeanDefinitionReader {

    @Getter
    private final Map<String,BeanDefinition> registry;

    @Getter
    private final ResourceLoader resourceLoader;

    protected AbstractBeanDefinitionReader(ResourceLoader resourceLoader) {
        this.registry = new HashMap<String, BeanDefinition>();
        this.resourceLoader = resourceLoader;
    }

}
